/**
 * 工具类
 */
(function($,window){
    /**
     * 判断元素是否存在
     * @param selector
     * @returns {Number}
     */
    window.exist=function(selector){
        return $(selector).length;
    }

    window.pageContextPath=$("[name='pagecontextpath']").attr("content");
})(jQuery,window);

$(function(){
//    window.pageContextPath=$([name='pagecontextpath']).attr("content");
});

$(function(){
    imgLazyLoadInit();
    headerInit();
    sliderInit();
    metroInit();
    tabMenuInit();
    windyInit(window.jQuery18||$);
});

function imgLazyLoadInit(){
    /**
     * 文档滚动到相应位置后再加之图片
     */
    $("img").lazyload({
        placeholder : pageContextPath+"/static/images/resource/lazyload.grey.gif",
        effect : "fadeIn"
    });

    /**
     * 对一些体积比较大的图片 在文档加载完成后再开始加载
     */
    $("img[is-lazyload='1']").each(function(){
        $(this).attr("src",$(this).attr("data"));
    });
}

function headerInit(){
    if(!($.browser.msie&&$.browser.version=="6.0")){
        $.fixComponent({
            fix:"#J_nav",
            model:"addFixClass",
            callback:function(fix){
                $(fix).css({
                    "opacity":0.9
                });
            }
        });
    }
}

function sliderInit(){
    if(exist("#J_slider_index")){
        $("#J_slider_index").skitter({
            label: false, dots: true, interval: 4000, numbers_align: 'center', theme: 'round'
        });
    }
    if(exist(".J_scroll")){
        var scrollBox=$(".J_scroll");
        var scroll=scrollBox.find(".J_scrollable");
        scroll.scrollable();

        steeringInit(scrollBox);
    }
}

function steeringInit(box){
    var steering=box.find(".J_steering");
    box.hover(
        function(){
            steering.show();
        },
        function(){
            steering.hide();
        }
    );
    steering.css({
        "opacity":0.9
    });;
};

function metroInit(){
    if(exist(".J_metro")){
        $(".J_metro_item").hover(
            function(){
                $(this).find(".J_metro_text").hide();
                $(this).find(".J_metro_img").show();
            },
            function(){
                $(this).find(".J_metro_text").show();
                $(this).find(".J_metro_img").hide();
            }
        )
    }
}

function tabMenuInit(){
    if(exist(".J_tabHandler")){
        $(".J_tabHandler").tabs(".J_tabPane");
    }
}

function windyInit($){
    if(exist(".J_windy")){
        var $el = $( '.J_windy' );
        var windy = $el.windy( {
                boundaries : {
                    rotateX : { min : 40 , max : 90 },
                    rotateY : { min : -15 , max : 45 },
                    rotateZ : { min : -10 , max : 10 },
                    translateX : { min : -400 , max : 400 },
                    translateY : { min : -400 , max : 400 },
                    translateZ : { min : 350 , max : 550 }
                }
            } );
        var allownavnext = false;
        var allownavprev = false;

        $( '.J_steering_prev' ).on( 'mousedown', function( event ) {

            allownavprev = true;
            navprev();

        } ).on( 'mouseup mouseleave', function( event ) {

            allownavprev = false;

        } );

        $( '.J_steering_next' ).on( 'mousedown', function( event ) {

            allownavnext = true;
            navnext();

        } ).on( 'mouseup mouseleave', function( event ) {

            allownavnext = false;

        } );

        steeringInit($(".J_windyBox"));

        function navnext() {
            if( allownavnext ) {
                windy.next();
                setTimeout( function() {
                    navnext();
                }, 150 );
            }
        }

        function navprev() {
            if( allownavprev ) {
                windy.prev();
                setTimeout( function() {
                    navprev();
                }, 150 );
            }
        }
    }
}